package top.roadvast.springboot.design_pattern.singleton;

/**
 * @Author 郭泽鹏
 * @Date 2021/10/19 15:33
 * @Version 1.0
 * @Description 单例模式
 * 饿汉式（静态常量）
 * 优点：这种写法比较简单，就是在类装载的时候就完成实例化。避免了线程同步问题。
 * 缺点：在类装载的时候就完成实例化，没有达到Lazy Loading的效果。如果从始至终从未使用过这个实例，则会造成内存的浪费。
 */
public class Singleton01 {
    /**
     * 类装载的时候进行初始化
     */
    private static final Singleton01 INSTANCE = new Singleton01();

    /**
     * 不允许外部类访问
     */
    private Singleton01() {
    }

    /**
     * 外部通过这个方法访问本类实例：唯一实例
     * @return 本类实例
     */
    public static Singleton01 getInstance() {
        return INSTANCE;
    }
}
